﻿using System;
using WebPic.Sample.Modelo.Entidades;
using WebPic.Sample.Modelo.Repositorios.Interfaces;
using WebPic.Sample.Modelo.Servicos.Interfaces;
using WebPic.Sample.Comum;

namespace WebPic.Sample.Modelo.Servicos {
    public class ServiceProduto : IServiceProduto {
        private readonly IValidationDictionary _modelState;
        private readonly IUnitOfWork _unitOfWork;

        public ServiceProduto(IValidationDictionary modelState, IUnitOfWork unitOfWork)
        {
            _modelState = modelState;
            _unitOfWork = unitOfWork;
        }

        public bool Add(Produto produto) {
            _unitOfWork.Produto.Add(produto);
            return true;
        }

        public bool Update(Produto produto) {
            _unitOfWork.Produto.Update(produto);
            return true;
        }

        public bool Remove(Produto produto) {
            if(_modelState.IsValid) {
                _unitOfWork.Produto.Remove(produto);
            }

            return _modelState.IsValid;
        }
    }
}